document.head.insertAdjacentHTML("afterbegin", ` `) function sendPermissions (data, subscriptions, tenantData, doubleOptIn) { // Start Editable Fields const API_KEY = tenantData.api_key; const tenant = tenantData.tenant; // End Editable Fields const URL = `https://mailing-service.activitystream.com/opt-ins/api/v1/${doubleOptIn.doubleOptIn ? 'request' : 'opt-in'}`; const searchParams = new URLSearchParams(); Object.keys(data).forEach((key) => { if (data[key] != null && data[key] !== '') { searchParams.set(key, data[key]); } }); const subs = Object.keys((subscriptions || {})).filter(sub => (subscriptions || {})[sub]); new Promise(function (resolve, reject) { const XHR = new XMLHttpRequest(); XHR.onreadystatechange = function () { if (XHR.readyState === 4) { if (XHR.status === 200) { resolve(); } else { reject(); } } } XHR.open('POST', `${URL}?apiKey=${API_KEY}&tenant=${tenant}&${searchParams}&topics=${subs.join()}`); XHR.send(); }).then(() => { const optInForm = document.getElementById('activitystream_oiForm'); const messageWrapper = document.getElementById('activitystream_messageWrapper'); const feedback = document.createElement('div'); feedback.setAttribute("id", "activitystream_newsletter_signup_feedback"); feedback.setAttribute("class", "activitystream_newsletter_signup_feedback activitystream_newsletter_signup_feedback_success"); if (doubleOptIn.doubleOptIn) { if (doubleOptIn.successMessage !== '') { feedback.innerHTML = `

${doubleOptIn.successMessage}

`; } else { feedback.innerHTML = '

Check your email to finish subscription

'; } } else { if (doubleOptIn.successMessage !== '') { feedback.innerHTML = `

${doubleOptIn.successMessage}

`; } else { feedback.innerHTML = '

Successfully subscribed

'; } } optInForm.remove(); messageWrapper.appendChild(feedback); }).catch(() => { const optInForm = document.getElementById('activitystream_oiForm'); const messageWrapper = document.getElementById('activitystream_messageWrapper'); const feedback = document.createElement('div'); feedback.setAttribute("id", "activitystream_newsletter_signup_feedback"); feedback.setAttribute("class", "activitystream_newsletter_signup_feedback activitystream_newsletter_signup_feedback_error"); if (doubleOptIn.errorMessage !== '') { feedback.innerHTML = `

${doubleOptIn.errorMessage}

`; } else { feedback.innerHTML = '

Failed to subscribe

'; } optInForm.remove(); messageWrapper.appendChild(feedback); }).finally(() => { // setTimeout(() => { // (document.getElementById("newsletter_signup_feedback") as HTMLElement).remove(); // }, 5000); }); } window.sendPermissions = sendPermissions;